const axios = require('axios');

async function testDirectCallback() {
  console.log('🧪 测试直接访问回调URL（无参数）');
  
  try {
    const response = await axios.get('http://13be2816e0e8.ngrok-free.app/lxt/shuidi-callback', {
      maxRedirects: 0,
      validateStatus: function (status) {
        return status >= 200 && status < 500;
      },
      headers: {
        'ngrok-skip-browser-warning': 'true',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
      }
    });
    
    console.log('状态码:', response.status);
    console.log('响应头:', response.headers);
    
    if (response.status >= 300 && response.status < 400) {
      console.log('重定向到:', response.headers.location);
    }
    
  } catch (error) {
    if (error.response) {
      console.log('状态码:', error.response.status);
      if (error.response.status >= 300 && error.response.status < 400) {
        console.log('重定向到:', error.response.headers.location);
      }
    } else {
      console.log('错误:', error.message);
    }
  }
}

async function testLocalCallback() {
  console.log('\n🧪 测试本地回调URL（无参数）');
  
  try {
    const response = await axios.get('http://localhost:3001/lxt/shuidi-callback', {
      maxRedirects: 0,
      validateStatus: function (status) {
        return status >= 200 && status < 500;
      }
    });
    
    console.log('状态码:', response.status);
    console.log('响应头:', response.headers);
    
    if (response.status >= 300 && response.status < 400) {
      console.log('重定向到:', response.headers.location);
      if (response.headers.location.includes('/login-error')) {
        console.log('✅ 本地测试：正确重定向到错误页面');
      }
    }
    
  } catch (error) {
    if (error.response) {
      console.log('状态码:', error.response.status);
      if (error.response.status >= 300 && error.response.status < 400) {
        console.log('重定向到:', error.response.headers.location);
        if (error.response.headers.location.includes('/login-error')) {
          console.log('✅ 本地测试：正确重定向到错误页面');
        }
      }
    } else {
      console.log('错误:', error.message);
    }
  }
}

async function main() {
  console.log('=== 简单回调测试 ===\n');
  
  await testLocalCallback();
  await testDirectCallback();
  
  console.log('\n💡 分析：');
  console.log('- 如果本地测试重定向到错误页面，说明代码逻辑正确');
  console.log('- 如果ngrok测试没有重定向到错误页面，说明可能是ngrok配置问题');
}

main().catch(console.error); 